Bash 第六讲 Bash 字符串运算符、查找字符串长度、拆分字符串、提取子字符串、拼接字符串 | 您所在的位置:网站首页 › shell 字符串长度 › Bash 第六讲 Bash 字符串运算符、查找字符串长度、拆分字符串、提取子字符串、拼接字符串 |
Bash 字符串运算符
同其他编程语言一样,在 Bash 中,字符串也是一种数据类型。只要以" “引起来,不论是数字还是字符,都会被 Bash 视为字符串。如"Welcome to W3Cschool”。 字符串运算符= 等于运算符,等于时返回true。 语法示例: Str1 = Str2应用示例: #!/bin/bash Str1="W3Cschool.cn" Str2="W3C" if [ $Str1 = $Str2 ]; then echo "True" else echo "False" fi执行后得到以下结果: False!= 不等于运算符,不等于时返回true。 语法示例: Str1 != Str2应用示例: #!/bin/bash Str1="W3Cschool.cn" Str2="W3C" if [[ $Str1 != $Str2 ]]; then echo "True" else echo "False" fi执行后得到以下结果: True检查字符串长度是否为零。 -n,不为零时返回true。 语法示例: -n Str应用示例: #!/bin/sh Str="Welcome to W3Cschool" if [ -n $Str ]; then echo "True" else echo "False" fi执行后返回以下结果: True -z为零时。返回true。 语法示例: -z Str应用示例: #!/bin/sh Str="Welcome to W3Cschool" if [ -z $Str ]; then echo "True" else echo "False" fi执行后返回以下结果: False检查字符串长度是否为空。 -str不为空时,返回true。 语法示例: -str Str应用示例: #!/bin/sh Str="Welcome to W3Cschool" if [ -str $Str ]; then echo "True" else echo "False" fi执行后返回以下结果: True Bash 查找字符串长度在某些情况下,您可能需要了解字符串的长度才能对该字符串执行某些操作。由于在 Bash 中没有相关的内置函数,所以需要参考以下几种方法来学习查找字符串的长度。 方法一在查找字符串长度的方法中,最简单的是使用#符号。 语法示例: $(#String)应用示例: #!/bin/bash Str="Welcome to W3Cshool.cn" length=${#Str} echo "Length of '$Str' is $length"执行后得到以下结果: Length of 'Welcome to W3Cscholl.cn' is 23 方法二也可将expr命令与length关键字一起使用。 语法示例: `expr length "$String"`应用示例: #!/bin/bash Str="Welcome to W3Cscholl.cn" length=`expr length "$Str"` echo "Length of '$Str' is $length"执行后得到以下结果: Length of 'Welcome to W3Cscholl.cn' is 23 方法三您也可以选择使用expr “$String”: ’ .*'来查找字符串长度。 语法示例: expr "$String": ' .*'应用示例: #!/bin/bash Str="Welcome to W3Cscholl.cn" length=`expr "$Str" : '.*'` echo "Length of '$Str' is $length"执行后得到以下结果: Length of 'Welcome to W3Cscholl.cn' is 23 方法四您也可以选择使用wc命令来查找字符串的长度。 应用示例: #!/bin/bash Str="Welcome to W3Cscholl.cn" length=`echo $Str | wc -c` echo "Length of '$Str' is $length"执行后得到以下结果: Length of 'Welcome to W3Cscholl.cn' is 23 方法五或者您可以选择使用awk命令来查找字符串长度。 应用示例: #!/bin/bash Str="Welcome to W3Cscholl.cn" length=`echo $Str |awk '{print length}'` echo "Length of '$Str' is $length"执行后得到以下结果: Length of 'Welcome to W3Cscholl.cn' is 23注: 在这五个方法中,最常用的还是方法一。简单快捷永远是最优选。 为避免在某些特殊情况下需要更换操作方法,建议您脚踏实地的学习哦。 Bash 拆分字符串在某些情况下,您可能需要先拆分字符串以进行您下一步的操作。由于在 Bash 中不包含类似其他编程语言中的split内置函数,所以需要参考以下几种方法来学习如何拆分字符串。 内部域分隔符您可以使用$IFS在 Bash 中将字符串细分。 IFS被称为“内部域分隔符”,是一种 set 变量。当 bash shell 处理“命令替换”或“参数替换”时,会根据IFS的值来拆解读入的变量,然后对其进行处理。IFS的默认值为空格符,也可使用\t,\n等值作为分隔符设置给IFS。 示例: #!/bin/bash read -p "Enter any string separated by space: " str #读取字符串的值。 IFS=' ' #将空格设置为分隔符。 read -ra strArr |
CopyRight 2018-2019 实验室设备网 版权所有 |